Interactive challenge for accessing a resource

ABSTRACT

Methods, systems, computer-readable media, and apparatuses for interactive challenges for accessing a resource are presented. In some embodiments, a method may include presenting a challenge requesting the performance of a specific motion. The method may also include capturing sensor data generated by one or more sensors associated with a mobile device as a result of one or more actions performed by a user in response to the challenge. The method may additionally include determining whether the specific motion was performed by comparing the captured sensor data to reference data associated with the requested specific motion. The method may further include indicating whether the challenge was satisfied based at least in part on the determining.

BACKGROUND

Aspects of the disclosure relate to an interactive challenge foraccessing a resource. Challenge-response tests are often used incomputing to determine whether or not a user is human. Many reasonsexist for ensuring that the user is human and not a computer or a robot.For example, challenge-response tests may be used to thwart spam andautomated extraction of data from websites. Generally, computers orrobots are not capable of solving challenge-response tests because theprovided challenge may typically only be understood and solved by ahuman. A popular challenge-response test is a CAPTCHA, a backronym for“Completely Automated Public Turing test to tell Computers and HumansApart.” CAPTCHAs usually are generated by distorting an image withtext/numbers and asking the user to entry the text/numbers as shown inthe distorted image, or by presenting a number of images and asking theuser to select one or more of the images containing a particular object.CAPTCHAs are usually generated in such a way that any OCR (opticalcharacter recognition) or other AI (artificial intelligence) technologyfails, and only a human eye can read and make sense of the challenge.CAPTCHAs have proven to be successful as there are still no goodautomated captcha solving algorithms.

While CAPTCHAs are easy to use by a user on computing devices with largescreens (e.g., desktop PCs and laptops), they are inherently difficultto use by a user using a computing device with a limited display size(e.g., mobile phones and tablets). For example, entering text via afinger on a mobile computing device is error prone and can make itdifficult for a user to provide a correct response to the CAPTCHAchallenge. This can result in a frustrated user experience.

Accordingly, a need exists for an improved challenge-response mechanismon mobile computing devices.

BRIEF SUMMARY

Certain embodiments are described that provide for an interactivechallenge for accessing a resource. Specifically, embodiments aredescribed that provide for an interactive challenge-response test to auser using a mobile device. An example of a challenge-response test is acaptcha. The inputs provided by the user to the challenge are then usedto determine whether a user is a human or an automated process/script(e.g., a robot). Given the limited real estate on a mobile device andthe difficulty to type, traditional captchas used for desktopenvironments are difficult and frustrating to use on mobile devices. Anumber of improved and new captcha techniques are disclosed andspecifically geared for use on mobile devices. These techniques includeproviding captchas that are based upon data sensed or captured by amobile device. For example, captchas may be based upon motion datacaptured by an accelerometer of the mobile device, audio/video/imagedata captured by a camera of the mobile device, fingerprint data, datacaptured based upon user finger interactions with a captcha, and thelike. For example, the captcha may be a certain motion (e.g., draw ashape using the mobile device, move the mobile device according to arhythm, move the mobile device proximate to an object (e.g., user'sbody), a mini-game, or by detecting whether mobile device is held byhand).

Accelerometer data generated by the motion may then be used to determineif the captcha challenge is satisfied. As another example, a captcha maybe based upon video information captured by a mobile device. Forexample, a user may be made to perform a facial movement (e.g. make an‘ooo’ and ‘aah’ sound) and the associated video data captured by themobile device in conjunction with a face tracking application that canrecognize whether the user has performed the particular facial movementinstructed by the captcha. Captchas may also be based upon interactionwith images (e.g., pinch zoom a photo to blow up a certain object inimage, rotate image, tap object in a randomized location on the mobiledevice screen, etc.); biometric information (e.g., fingerprint detectionthat may be used to determine whether this is a human fingerprintprovided to the fingerprint sensor); presenting multiple advertisementsto a user and asking the user to pick the “best” ad and determiningwhether the user selected the correct ad based upon, for example, adrankings; swipe actions to select relevant choices (e.g., photos offriends) and determining whether the swipe is typical of a human swipeor typical of an automated swipe.

In some embodiments, a method may include presenting a challengerequesting the performance of a specific motion. The method may alsoinclude capturing sensor data generated by one or more sensorsassociated with a mobile device as a result of one or more actionsperformed by a user in response to the challenge. The method mayadditionally include determining whether the specific motion wasperformed by comparing the captured sensor data to reference dataassociated with the requested specific motion. The method may furtherinclude indicating whether the challenge was satisfied based at least inpart on the determining.

In some embodiments, the one or more sensors may include at least one ofan accelerometer or a proximity sensor.

In some embodiments, determining whether the specific motion wasperformed may include determining, based upon the captured sensor data,whether the mobile device is being held by a human.

In some embodiments, the specific motion requested by the challenge mayinclude at least one of placing the mobile device proximate to theuser's body, moving the mobile device in a particular shape, making amotion with the mobile devices while participating in an interactivegame presented to the user, moving the mobile device in a specificrhythm, swiping across a display of the mobile device with a userextremity, or performing a facial movement, and wherein the sensor datacomprises captured frames of the performed facial movement with a cameraof the mobile device.

In some embodiments, the method may also include presenting the userwith information, wherein swiping across the display of the mobiledevice with the user extremity comprises swiping in a first direction ifthe presented information is recognized by the user and swiping in asecond direction if the presented information is not recognized by theuser.

In some embodiments, the method may also include receiving a request toprovide the challenge, wherein the indicating comprises providing anindication whether the challenge was satisfied to a source of therequest.

In some embodiments, the request may be received from a social networkapplication.

In some embodiments, the challenge may be presented before allowingaccess to a resource, wherein determining whether the specific motionwas performed may include determining that the specific motion wasperformed and the challenge was satisfied, and wherein the method mayfurther include allowing access to the resource upon determining thatthe challenge was satisfied.

In some embodiments, the challenge may be presented in response todetermining that a content item attempted to be posted by the user to asocial network environment meets a spam threshold, and the method mayfurther include allowing the content item to be posted by the user tothe social network environment upon determining whether the specificmotion was performed.

In some embodiments, the specific motion requested by the challenge mayinclude speaking one or more words, and the sensor data may includecaptured audio of the spoken one or more words with a microphone of themobile device.

In some embodiments, a mobile device may include a display, a processor,a challenge subsystem, and one or more sensors coupled to the processor.The challenge subsystem may be configured to present a challenge, viathe display, requesting the performance of a specific motion. The one ormore sensors may be configured to generate sensor data as a result ofone or more actions performed by a user in response to the challenge.The processor may be configured to determine whether the specific motionwas performed by comparing the captured sensor data to reference dataassociated with the requested specific motion, and indicate whether thechallenge was satisfied based at least in part on the determining.

In some embodiments, one or more non-transitory computer-readable mediamay store computer-executable instructions that, when executed, maycause one or more computing devices to present a challenge requestingthe performance of a specific motion, capture sensor data generated byone or more sensors associated with a mobile device as a result of oneor more actions performed by a user in response to the challenge,determine whether the specific motion was performed by comparing thecaptured sensor data to reference data associated with the requestedspecific motion; and indicate whether the challenge was satisfied basedat least in part on the determining.

BRIEF DESCRIPTION OF THE DRAWINGS

Aspects of the disclosure are illustrated by way of example. In theaccompanying figures, like reference numbers indicate similar elements.

FIG. 1 illustrates a simplified diagram of a mobile device and servercomputer that may incorporate one or more embodiments;

FIG. 2 is a flowchart illustrating a process for providing aninteractive challenge to a user of a mobile device, in accordance withsome embodiments;

FIG. 3 illustrates a user attempting to post a content item to a socialnetwork environment that requires passing an interactive challenge priorto allowing the content to be posted, in accordance with someembodiments;

FIG. 4 illustrates a user attempting to access an account settings page,within the social network environment, that requires passing aninteractive challenge prior to access being allowed, in accordance withsome embodiments;

FIG. 5 illustrates an interactive challenge involving drawing a shapewith a mobile device, in accordance with some embodiments;

FIG. 6 illustrates an interactive challenge involving shaking to acertain rhythm with the mobile device, in accordance with someembodiments;

FIG. 7 illustrates a user holding a mobile device in response to achallenge presented to a user, in accordance with some embodiments;

FIG. 8 illustrates an interactive challenge involving playing a“mini-game” with the mobile device, in accordance with some embodiments;

FIG. 9 illustrates an interactive challenge involving making a certainfacial expression in front of a mobile device, in accordance with someembodiments;

FIG. 10 illustrates an interactive challenge involving interactions witha presented image, in accordance with some embodiments;

FIG. 11 illustrates another interactive challenge involving interactionswith a presented image, in accordance with some embodiments; and

FIG. 12 illustrates an example of a computing system in which one ormore embodiments may be implemented.

DETAILED DESCRIPTION

Several illustrative embodiments will now be described with respect tothe accompanying drawings, which form a part hereof. While particularembodiments, in which one or more aspects of the disclosure may beimplemented, are described below, other embodiments may be used andvarious modifications may be made without departing from the scope ofthe disclosure or the spirit of the appended claims.

FIG. 1 illustrates a simplified diagram of a mobile device 110 andserver computer 120 that may incorporate one or more embodiments. Themobile device 110 and server computer 120 may communicate with eachother via communication network 130. One example of communicationnetwork 130 is the Internet.

The mobile device 110 may include output subsystem 111, input subsystem112, accelerometer 113, proximity sensor 114, social network clientapplication 115, challenge subsystem 116, and audio/video capturesubsystem 117, which all may be coupled to a processor (not shown). Theprocessor may execute the various applications and subsystems that arepart of the mobile device 110.

Output subsystem 111 may be configured to output or transmit data to anexternal device or apparatus. For example, output subsystem 111 maytransmit data from mobile device 110 to server computer 120communication network 130. Output subsystem 111 may also transmit datato a display coupled to mobile device 110 that is meant to be presentedto user 140. For example, output subsystem 111 may provide datapertaining to a challenge request to the display so that the display canpresent the data to the user 140.

Input subsystem 112 may be configured to receive data from an externaldevice or a user. For example, input subsystem 112 ma receive data fromserver computer 120 via communication network 130. In another example,input subsystem 112 may receive touch, voice, video, or motion inputfrom the user 140.

Accelerometer 113 may be configured to obtain sensor data used tomeasure motion input from the mobile device 110. For example,accelerometer 113 may obtain sensor data indicative of the user 140moving the mobile device 110 in a certain direction.

Proximity sensor 114 may be configured to detect the presence of objectsnearby to the mobile device 110 without any physical contact. Forexample, the proximity sensor 114 may be configured to obtain sensordata indicative of whether the mobile device 110 is being held within acertain distance to the user's 140 body.

Social network client application 115 may be configured to, whenexecuted by the processor, allow the user 140 to access a social networkenvironment via mobile device 110. For example, a user may choose tolaunch the social network client application 115 by selecting an iconassociated with the application via input subsystem 112. The socialnetwork client application 115 may communicate with the server computer120, via communication network 130, in order to access the socialnetwork environment. The server computer 120 may grant the user accessto the social network environment via the social network serverapplication 122. The user may use input subsystem 112 to interact withvarious elements within the social network client application 115.Examples of a social network client application 115 include, but is notlimited to, a web browser, a mobile application, etc.

Challenge subsystem 116 may be configured to, when executed by theprocessor, determine and present a challenge to user 140, and receiveand process a response to the challenge.

Audio/video capture subsystem 117 may be configured to captureaudio/video data. For example, the audio/video capture subsystem 117 maycapture the user's 140 voice via a microphone or may capture animage/video of the user's 140 face via a camera.

The server computer 120 may include social network server application122, challenge subsystem 124, and storage subsystem 126, which all maybe coupled to a processor (not shown). The processor may execute thevarious applications and subsystems that are part of the server computer120.

Social network server application 122 may be configured to, whenexecuted by the processor, allow users to participate in a networkingcommunity in which users network through friends, friends of friends,and so forth. A user may create a personal profile. The user can browseand search through all of the users connected to a user through networksof friends or view profiles associated with businesses, establishments,places, etc. A user can also view photos and profiles, see how the useris connected to other users, send messages, ask friends forintroductions, or suggest matches between friends or even friends offriends. The social network application can be used for all types ofsocial networking. A user 140 may access the social network via a mobiledevice 110 (e.g., personal computer, smartphone, tablet, etc.) thatexecutes a social network client application 115 which accesses andinterfaces with the social networking server application 122 on theserver computer 120.

Challenge subsystem 124 may be configured to, when executed by theprocessor, determine a challenge that should be presented to the user140, and receive and process a response to the challenge.

Storage subsystem 126 may be configured to store data. In one example,the storage subsystem 126 may challenge reference data 126 a. Thechallenge reference data 126 a may be reference data associated with achallenge that may be presented to the user 140. The challenge referencedata 126 a may be compared to, by the challenge subsystem 124, sensordata captured in response to a presented challenge in order to determinewhether the user 140 has successfully responded to the presentedchallenge.

The following description illustrates how the mobile device 110 andserver computer 120 may interact with each other in order to implementthe interactive challenge process described above. The social networkserver application 122 may send a challenge request to the challengesubsystem 124. The challenge may be requested in response to a useraction, such as the user 140 requesting access to a resource within thesocial network environment, verifying that content posted to the socialnetwork environment originated from the user 140, or any other scenariowhere the social network server application 122 may want to ensure thatthe user 140 is a human and not a robot or automated script.

The challenge subsystem 124 on the server computer 120 may thendetermine a specific challenge to be presented to the user by the mobiledevice 110. For example, the specific challenge may be based upon motiondata captured by the accelerometer 113, audio/video/image data capturedby the audio/video capture subsystem 117, fingerprint data, datacaptured based upon user finger interactions with the mobile device 110,etc. In some embodiments, specific challenge determined by the challengesubsystem 116 may be defined by the specific resource being accessed bythe user 140 within the social network environment. For example,accessing an “account settings” resource within the social networkenvironment may dictate that an audio/video/image based challenge shouldbe presented to the user 140.

In some embodiments, the challenge subsystem 116 on the mobile device110 may determine the specific challenge to be presented to the user140, instead of the challenge subsystem 124 on the server computer 120doing so. The social network server application 122 may send a requestto the challenge subsystem 116 on the mobile device 110 to determine andgenerate a captcha.

Upon determining the challenge to be presented to the user 140, thechallenge subsystem 124 on the server computer 120 may send thedetermined challenge to the challenge subsystem 116 on the mobile device110. The challenge subsystem 116 on the mobile device 110 may in turnsend the determined challenge to the output subsystem 111 forpresentation to the user 140. The output subsystem 111 may, for example,present the determined challenge the user 140 via a display of themobile device 110.

The user 140 may then perform some motion or action in response to thepresented challenge. For example, the user 140 may move the mobiledevice 110 in a “figure 8” motion. In another example, the user 140 mayplace the mobile device 110 close to his/her chest. In another example,the user 140 may shake the mobile device 110 in accordance with aspecific rhythm.

The user motion or action may be captured by one or more sensors withinthe mobile device 110. For example, the accelerometer 113 may capturesensor data indicating movement of the mobile device 110 (e.g., the“figure 8” motion) and provide the captured sensor data to the challengesubsystem 116. The challenge subsystem 116 on the mobile device 110 mayin turn send the captured sensor data to the challenge subsystem 124 onthe server computer 120.

The challenge subsystem 124 on the server computer 120 may compare thecaptured sensor data against the challenge reference data 126 a storedwithin the storage subsystem 126. For example, the reference data may bemotion data indicative of a typical “figure 8” motion with a mobiledevice. The challenge subsystem 124 on the server computer 120 maycompare the captured sensor data to see how closely it matches to thechallenge reference data 126 a. If the captured sensor data andchallenge reference data 126 a match within a specified threshold, thechallenge subsystem 124 may determine that the challenge was passed bythe user 140 and provide an indication or result of the passing to thesocial network client application 115.

Additionally, the social network server application 122 may then grantthe user 140 access to the resource 140. For example, the social networkserver application 122 may allow content that the user 140 wishes topost to the social network environment to be posted to the socialnetwork environment upon receiving the challenge passed result from thechallenge subsystem 124, which may indicate that the user 140 is ahuman. In some embodiments, the social network server application 122may relay the challenge passed indication to the social network clientapplication 115, which may then provide feedback to the user 140 thataccess was granted to the resource.

In some embodiments, where the challenge subsystem 116 on the mobiledevice 110 itself determines the specific challenge to be presented tothe user 140, the challenge subsystem 116 on the mobile device 110 mayalso determine whether the challenge was passed by comparing thecaptured sensor data to challenge reference data stored locally on themobile device 110.

FIG. 2 is a flowchart illustrating a process 200 for providing aninteractive challenge to a user of a mobile device. The process 200begins at step 210.

At step 210, a mobile device may receive a signal from a requestorrequesting that a challenge be presented to a user. The requestor may bea social network server application running on a server computer, orplurality of server computers. For example, the social network clientapplication 115 may receive a request, from the social network serverapplication 122, for a challenge to be presented to the user 140.

At step 212, after the mobile device receives a signal from a requestorrequesting that a challenge be presented to a user, a challenge to bepresented to a user may be determined. In some embodiments, thechallenge to be presented to the user may be determined by the challengesubsystem 124 on the server computer 120. The determined challenge maythen be transmitted to social network client application 115. Thedetermined challenge may also be transmitted simultaneous to the requestin step 210.

In some embodiments, the challenge to be presented to the user may bedetermined by the challenge subsystem 116 on the mobile device 110.

At step 214, after a challenge to be presented to the user isdetermined, the determined challenge may be presented, via the mobiledevice, to the user. For example, after either the challenge subsystem124 on the server computer 120 or challenge subsystem 116 on the mobiledevice 110 determine the challenge to be presented to the user, thedetermined challenge may be provided to the social network clientapplication 115. The social network client application 115 may thendisplay the determined challenge to the user 140, via a display of themobile device 110. The presented challenge may provide the challengeitself and instructions pertaining to the challenge. For example, themobile device 110 may display a picture of a “figure-8” and request thatthe user 140 move the mobile device 110 in the same shape of the“figure-8.”

At step 216, after the challenge is presented to the user, the mobiledevice 110 may capture sensor data generated by one or more sensorsassociated with the mobile device 110. For example, the mobile device110 may capture sensor data using the accelerometer 113, proximitysensor 114, audio/video capture subsystem 117, or any other sensors thatmay be coupled to the mobile device 110. The sensor data may be capturedcontemporaneously to the user performing a specific motion or action asinstructed by the presented challenge in step 214. For example, if thechallenge presented to the user instructs the user to move the mobiledevice 110 in a specific shape or shake the mobile device according to aspecific rhythm, sensor data captured from the accelerometer 113 may beindicative of movement of the mobile device 110 by the user 140. Inanother example, if the challenge presented to the user instructs theuser to move the mobile device 110 proximate to the user's 140 body,sensor data captured by the proximity sensor 114 may be indicative ofthe mobile device's 110 position proximate to an object. In yet anotherexample, if the challenge presented to the user instructs the user tomake a certain facial gesture (e.g., “ooh” and “aah” with the lips),sensor data captured from the audio/video capture subsystem 117 may beindicative of the user's facial movements. In yet another example, ifthe challenge presented to the user instructs the user to swipe across adisplay of the mobile device 110 in a certain direction, sensor datacaptured from the input subsystem 112 may be indicative of the user'sswipe across the display of the mobile device 110.

At step 218, after the mobile device 110 captures sensor data generatedby one or more sensors associated with the mobile device 110, thecaptured sensor data is compared to reference data associated with thepresented challenge. For example, after capturing the sensor data, themobile device 110 may transmit the captured sensor data to the servercomputer 120. The challenge subsystem 124 on the server computer 120 maycompare the received captured sensor data to challenge reference data126 a stored within the storage subsystem 126. The challenge referencedata 126 a may store reference data for a number of different challengesthat may be presented to the user 140. For example, the challengereference data 126 a may include reference data of how accelerometersensor data that is typical of a “figure-8” motion. The challengesubsystem 124 on the server computer 120 may compare the capturedaccelerometer data while the user 140 was performing the “figure-8”motion with the mobile device 110 to the challenge reference data 126 afor the “figure-8” motion.

At step 220, after the captured sensor data is compared to referencedata associated with the presented challenge, a determination may bemade as to whether the challenge was passed. For example, the challengesubsystem 124 on the server computer 120 may determine whether thechallenge was passed by the user 140 based on the comparison of thecaptured sensor data to the challenge reference data 126 a. Adetermination that the challenge was passed may be made if the capturedsensor data matches the challenge reference data 126 a within a certainthreshold. That is, the captured sensor data need not match thechallenge reference data 126 a exactly in order for the user's 140response to the challenge to be considered passing, since there may beslight variations in motions or actions performed by the user 140. Ifthe challenge subsystem 124 on the server computer 120 determines thatthe challenge was passed by the user 140, the process may continue tostep 226. Otherwise, if the challenge subsystem 124 on the servercomputer 120 determines that the challenge was not passed by the user140, the process may continue to step 222.

At step 222, if the challenge subsystem 124 on the server computer 120determines that the user's 140 response did not pass the presentedchallenge, the challenge subsystem 124 may determine whether anotherchallenge should be generated for the user 140. Whether or not togenerate another challenge for the user may be defined by a rule of thesocial network server application 122. For example, the server networkserver application 122 may define a rule that the user 140 should begiven three chances to provide a successful response to one or morechallenges before being denied access to the resource. If it isdetermined that another challenge should be generated for the user 140,the process may return to step 212 where a new challenge may bedetermined to be presented to the user. The newly generated challengemay be of the same type or of a different type as the challengeoriginally presented to the user in step 214. If it is determined thatanother challenge should not be generated for the user 140, thechallenge subsystem 124 on the server computer 120 may indicate to therequestor that the challenge was failed by the user 140 (step 224). Forexample, the challenge subsystem 124 may send an indication to thesocial network server application 122 that the user 140 failed thechallenge and the social network server application 122 may not providethe user 140 with access to the resource. The social network serverapplication 122 may then indicate to the social network clientapplication 115 that the challenge was not passed by the user 140, andthe social network client application 115 may provide feedback to theuser 140, via a display of the mobile device 110, that the challenge wasfailed and access to the resource was denied.

At step 226, if the challenge subsystem 124 on the server computer 120determines that the user's response did pass the presented challenge,the challenge subsystem 124 may provide an indication to requestor(e.g., the social network server application 122) that the user 140passed the challenge. In turn, the social network server application 122may grant the user 140 access to the resource. Additionally, the socialnetwork server application 122 may indicate to the social network clientapplication 115 that the challenge was passed by the user 140, and thesocial network client application 115 may provide feedback to the user140, via a display of the mobile device 110, that the challenge waspassed and access to the resource was granted.

FIG. 3 illustrates a user attempting to post a content item to a socialnetwork environment that requires passing an interactive challenge priorto allowing the content to be posted, in accordance with someembodiments. The figure illustrates a mobile device 110 operated by theuser 140. The mobile device 110 may execute social network clientapplication 115 in order to access the social network environment. Theuser 140 may interact with the social network environment via a userinterface displayed on display 310 of the mobile device 110.

The user 140 may attempt to post a new content item 320 to the socialnetwork environment. In this example, the content item 320 is a link toa website that the user 140 finds to be interesting. For example, thecontent item 320 attempted to be post by the user states “Check out thislink I found! http://amazingnaturephotos.com.” Upon the user 140attempting to post the content item, the social network serverapplication 122 may make a determination whether the attempted post ofthe content item meets a spam threshold. In other words, the socialnetwork server application 122 may determine whether the attempted postof the content item is such that there may be a likelihood that it isbeing posted by a computer or robot for spam purposes rather than anactual human being.

The social network server application's 122 determination whether theattempted post of the content item meets a spam threshold may be donevia a classifier. The classifier may be trained using various text,links, images, videos, or other content typically posted to the socialnetwork environment. In another example, the classifier may be trainedbased on one or more attributes of content items typically posted to thesocial network environment. These attributes may include a geolocationof a post, post length, post source device (e.g., mobile device orpersonal computer), etc. When the user 140 attempts to post the contentitem to the social network environment, the social network serverapplication 122 may provide the attempted content item post orattributes associated with the post to the classifier as an input, andthe classifier may output a class based on the input, the outputindicative of whether the attempted content item post meets a spamthreshold.

If the social network server application 122 determines that the postattempted content item post meets a spam threshold, the social networkclient application 115 may provide a notification 330 to the user thatthe attempted content item post may be spam, and the user will need torespond to a challenge in order to verify that the user is a human. Insome embodiments, the notification 330 may not be presented and thechallenge may simply be presented to the user after the user attempts topost the content item that meets the spam threshold. Any of thechallenges discussed throughout this description may be presented to theuser.

In some embodiments, upon attempting to post the content item to thesocial network environment, and the social network server application122 making a determination whether the attempted post of the contentitem meets a spam threshold, the user may be presented with an “appealthis decision” button which may allow the user to appeal the spamdetermination made by the social network server application 122. Inappealing the spam decision, the user may be presented with a challenge.If the user passes the challenge, the user may successfully appeal thespam decision and the content item attempted to be posted by the usermay be allowed to be posted to the social network environment.

FIG. 4 illustrates a user attempting to access an account settings page,within the social network environment, that requires passing aninteractive challenge prior to access being allowed, in accordance withsome embodiments. The figure illustrates a mobile device 110 operated bythe user 140. The mobile device 110 may execute social network clientapplication 115 in order to access the social network environment. Theuser 140 may interact with the social network environment via a userinterface displayed on display 310 of the mobile device 110.

The user may attempt to access an “account settings” page 410 associatedwith the user's account within the social network environment. Theaccount settings page may provide the user 140 with access to changesettings associated with the user's 140 account. Many of the settingsmay be sensitive. Upon the user 140 attempting to access the accountsettings page 410, the social network server application 122 may make adetermination whether the attempted access of the account settings page410 meets a fraud threshold. Since the account settings page 410provides access to a lot of sensitive information and settings, it maybe beneficial to ensure that the user is a human and the attemptedaccess to the account settings page 410 is not fraudulent activity froma robot or computer.

Similar to what is described with respect to FIG. 3, the social networkserver application's 122 determination whether the attempted access ofthe account settings page 410 meets a fraud threshold may be done via aclassifier. The classifier may be trained based one or more attributesassociated with user's accessing an account settings page 410. Theseattributes may include, but is not limited to, geolocation of thedevice, time between an initial login and access of the account settingspage, time of day, etc. When the user 140 attempts to access the accountsettings page 410, the social network server application 122 may provideone or more of these attributes to the classifier as an input, and theclassifier may output a class based on the input, the output indicativeof whether the attempted access of the account settings page 410 meets afraud threshold.

If the social network server application 122 determines that the user's140 attempted access at the account settings page 410 meets a fraudthreshold, the social network client application 115 may provide anotification 420 to the user that the attempted access requires that theuser will need to respond to a challenge before access is granted. Insome embodiments, the notification 420 may not be presented and thechallenge may simply be presented to the user after the user attempts toaccess the account settings page 410 and the access meets the fraudthreshold. Any of the challenges discussed throughout this descriptionmay be presented to the user.

FIG. 5 illustrates an interactive challenge involving drawing a shapewith a mobile device, in accordance with some embodiments. The figureshows the challenge 510 being presented on a user interface displayed onthe display 310 of the mobile device 110. The challenge 510 displayedillustrates a “figure-8” motion that the user is requested to performusing the mobile device 110. The challenge 510 may be presented to theuser 140 prior to granting the user 140 access to a resource, such asallowing the user post a content item or granting the user access to anaccount settings page as described above. Additionally, the challenge510 may be presented to the user by the social network clientapplication 115 after receiving a request from the social network serverapplication 122 to do so. The specific challenge may be determined inthe fashion described above with respect to FIGS. 1-2. While a“figure-8” motion is illustrated in the figure, any type of shape may bepresented to the user 140 as a motion to make using the mobile device110.

In response to the presented challenge 510, the user 140 may hold themobile device 110 in either hand and move the mobile device 110 in theair so as to create a “figure-8” shape using the mobile device 110. Theaccelerometer 113 may capture sensor data while the user is performingthe specific motion with the mobile device 110. As described above, thecaptured sensor data may be compared to the challenge reference data 126a within the storage subsystem 126. The challenge reference data 126 amay be accelerometer reference data indicative of moving the mobiledevice according to the “figure-8” motion. If the captured sensor dataand the challenge reference data 126 a match within a specificthreshold, the user 140 may pass the challenge. Otherwise, if thecaptured sensor data and the challenge reference data 126 a do not matchwithin a specific threshold, the user 140 may not pass the challenge andthe user may be presented with another challenge depending on thesettings of the social network server application 122. Upon passing thechallenge, the user may be granted access to the resource.

FIG. 6 illustrates an interactive challenge involving shaking to acertain rhythm with the mobile device, in accordance with someembodiments. The figure shows the challenge 610 being presented on auser interface displayed on the display 310 of the mobile device 110.The challenge 610 displayed illustrates a rhythm that the user isrequested to perform by shaking the mobile device 110. The challenge 610may be presented to the user 140 prior to granting the user 140 accessto a resource, such as allowing the user post a content item or grantingthe user access to an account settings page as described above.Additionally, the challenge 610 may be presented to the user by thesocial network client application 115 after receiving a request from thesocial network server application 122 to do so. The specific challengemay be determined in the fashion described above with respect to FIGS.1-2. While the rhythm “shake, shake, pause, shake, pause, shake” isillustrated in the figure, any rhythm may be presented to the user 140to perform using the mobile device 110.

In response to the presented challenge 610, the user 140 may shake themobile device 110 in either hand according to the presented rhythm. Forexample, the user may shake the device twice, pause for one second,shake the device again, pause for another second, and shake the deviceone more time. The accelerometer 113 may capture sensor data while theuser is shaking the mobile device 110 according to the specific rhythmpresented. As described above, the captured sensor data may be comparedto the challenge reference data 126 a within the storage subsystem 126.The challenge reference data 126 a may be accelerometer reference dataindicative of shaking the device according to the presented rhythm. Ifthe captured sensor data and the challenge reference data 126 a matchwithin a specific threshold, the user 140 may pass the challenge.Otherwise, if the captured sensor data and the challenge reference data126 a do not match within a specific threshold, the user 140 may notpass the challenge and the user may be presented with another challengedepending on the settings of the social network server application 122.Upon passing the challenge, the user may be granted access to theresource.

FIG. 7 illustrates a user holding a mobile device in response to achallenge presented to a user, in accordance with some embodiments. Insome embodiments, the presented challenge may request the user 140 tosimply hold the mobile device 110 with either hand. The challenge may bepresented to the user 140 using a user interface displayed on a displayof the mobile device 110. For example, the challenge presented maydisplay on the mobile device 110 “Please hold your device in your righthand for three seconds.”

In response to the presented challenge, the user may hold the mobiledevice 110 in his/her right hand for three seconds, as instructed. Theaccelerometer 113 may capture sensor data while the user is holding themobile device 110 in his/her hand. As described above, the capturedsensor data may be compared to the challenge reference data 126 a withinthe storage subsystem 126. The challenge reference data 126 a may beaccelerometer reference data indicative of how a human may naturallyhold a mobile device 110. If the captured sensor data and the challengereference data 126 a match within a specific threshold, the user 140 maypass the challenge. Otherwise, if the captured sensor data and thechallenge reference data 126 a do not match within a specific threshold,the user 140 may not pass the challenge and the user may be presentedwith another challenge depending on the settings of the social networkserver application 122. Upon passing the challenge, the user may begranted access to the resource.

In some embodiments, the presented challenge may request the user 140 tomove the mobile device 110 proximate to the user's 140 body. Forexample, the challenge presented may display on the mobile device 110“Please move the device toward your chest.” In response, the user 140may bring the mobile device 110 toward his/her chest, as illustrated bymotion 710. The accelerometer 113 may capture sensor data while the useris bringing the mobile device 110 toward his/her chest, as illustratedby motion 710. As described above, the captured sensor data may becompared to the challenge reference data 126 a within the storagesubsystem 126. The challenge reference data 126 a may be proximitysensor reference data indicative of the mobile device 110 beingproximate to an object. Additionally, the challenge reference data 126 amay also include accelerometer data indicative of the mobile device 110being moved across a plane. The combination of the proximity sensor dataand the accelerometer data may make up the challenge reference data 126a. If the captured sensor data and the challenge reference data 126 amatch within a specific threshold, the user 140 may pass the challenge.Otherwise, if the captured sensor data and the challenge reference data126 a do not match within a specific threshold, the user 140 may notpass the challenge and the user may be presented with another challengedepending on the settings of the social network server application 122.Upon passing the challenge, the user may be granted access to theresource.

FIG. 8 illustrates an interactive challenge involving playing a“mini-game” with the mobile device, in accordance with some embodiments.The figure shows the challenge 810 being presented on a user interfacedisplayed on the display 310 of the mobile device 110. The challenge 810displayed illustrates a “mini-game” that the user 140 can play or solveusing motion of the mobile device 110. The specific “mini-game” requeststhe user to tilt their device at various angles such that the ball 820falls within the hole 830 based on the tilt of the mobile device 110.The challenge 810 may be presented to the user 140 prior to granting theuser 140 access to a resource, such as allowing the user post a contentitem or granting the user access to an account settings page asdescribed above. Additionally, the challenge 810 may be presented to theuser by the social network client application 115 after receiving arequest from the social network server application 122 to do so. Thespecific challenge may be determined in the fashion described above withrespect to FIGS. 1-2. While a mini-game that requests that the user moveand tilt the mobile device 110 such that the ball 820 falls within thehole 830 is illustrated in the figure, any “mini-game” may be presentedto the user 140 to play or solve using the mobile device 110.

In response to the presented challenge 810, the user 140 may move,angle, or otherwise tilt the mobile device 110 such that the ball 820eventually rolls across the user interface of the display 310 andeventually falls within the hole 830. The accelerometer 113 along withanother sensor such as a gyroscope may capture sensor data while theuser is moving, angling, or tilting the mobile device 110 according tothe “mini-game” presented. As described above, the captured sensor datamay be compared to the challenge reference data 126 a within the storagesubsystem 126. The challenge reference data 126 a may be accelerometerand gyroscope reference data indicative of moving, angling, or tiltingthe device according to the presented “mini-game” such that the ball 820falls within the hole 830. If the captured sensor data and the challengereference data 126 a match within a specific threshold, the user 140 maypass the challenge. Otherwise, if the captured sensor data and thechallenge reference data 126 a do not match within a specific threshold,the user 140 may not pass the challenge and the user may be presentedwith another challenge depending on the settings of the social networkserver application 122. Upon passing the challenge, the user may begranted access to the resource. While the “mini-game” depicted in thefigure illustrates rolling a ball 820 into a hole 830, any other type of“mini-game” may also be presented. For example, a “mini-game” mayconsist of having the user arrange a series of numbers in order bydragging the numbers across the user interface such that the numbers areordered sequentially. There may be a vast number of possible“mini-games” presented as a challenge to the user 140.

FIG. 9 illustrates an interactive challenge involving making a certainfacial expression in front of a mobile device, in accordance with someembodiments. The figure shows the challenge 910 being presented on auser interface displayed on the display 310 of the mobile device 110.The challenge 910 displayed provides an instruction to the user 140 tospeak certain sounds while the user's 140 face 920 is being captured bya camera of the mobile device 110. For example, the challenge instructsthe user 140 to speak the sounds “ooh” and “aah” while the user's 140face 920 is being captured by a camera part of the audio/video capturesubsystem 117. The challenge 910 may be presented to the user 140 priorto granting the user 140 access to a resource, such as allowing the userpost a content item or granting the user access to an account settingspage as described above. Additionally, the challenge 910 may bepresented to the user by the social network client application 115 afterreceiving a request from the social network server application 122 to doso. The specific challenge may be determined in the fashion describedabove with respect to FIGS. 1-2. While the instructions request the userto speak the sounds “ooh” and “aah” in the figure, any instruction thatresults in the user 140 making a facial expression in front of thecamera of the mobile device 110 may be given to the user 140. Forexample, an the user 140 may be instructed to squint his/her eyes andmay not require that the user speak any sound, but simply make thefacial expression instructed.

In response to the presented challenge 910, the user 140 may speak the“ooh” and “aah” sounds while holding the mobile device 110 in such aposition that the camera can capture the user's 140 face 920 whilehe/she makes the facial expression. A camera, part of the audio/videocapture subsystem 117, may capture the user's face while the user ismaking the facial expression in accordance with the instructionsprovided by the challenge 910. The captured image/video data may becompared to the challenge reference data 126 a within the storagesubsystem 126. The challenge reference data 126 a may be images/video ofvarious human faces making the same “ooh” and “aah” sounds. In someembodiments, a classifier may be trained based on the challengereference data 126 a comprising the images/video of the facialexpressions. The classifier may receive as an input the capturedimage/video of the user 140 and may output a class indicative of whetherthe user's facial expression is consistent with an “ooh” and “aah”sounds, in accordance with the classifier training. If the classifieroutputs a class label indicative of the user's 140 facial expressionconsistent with making these sounds, the user 140 may pass thechallenge. Otherwise, the user 140 may not pass the challenge and theuser may be presented with another challenge depending on the settingsof the social network server application 122. Upon passing thechallenge, the user may be granted access to the resource.

In some embodiments, similar to what is described with respect to FIG.9, the user 140 may be presented with a challenge that requests the userspeak a phrase or sentence. For example, the user may be presented achallenge having instructions to speak “The weather is amazing today.”The user's 140 voice may be captured by a microphone of the mobiledevice 110. For example, the user may speak “The weather is amazingtoday” while the user's 140 voice may be captured by a microphone partof the audio/video capture subsystem 117. The captured audio data may becompared to the challenge reference data 126 a within the storagesubsystem 126. The challenge reference data 126 a may be audio segmentsof various humans speaking the same or similar phrases. In someembodiments, a classifier may be trained based on the challengereference data 126 a comprising the audio segments of the human'sspeaking the same or similar phrases. The classifier may receive as aninput the captured audio of the user 140, and/or attributes associatedwith the captured audio such as pitch, frequency, decibel, etc. and mayoutput a class indicative of whether the user's voice is consistent withother human's voices, in accordance with the classifier training. If theclassifier outputs a class label indicative of the user's 140 voicebeing a genuine human voice, the user 140 may pass the challenge.Otherwise, the user 140 may not pass the challenge and the user may bepresented with another challenge depending on the settings of the socialnetwork server application 122. Upon passing the challenge, the user maybe granted access to the resource.

FIG. 10 illustrates an interactive challenge involving interactions witha presented image, in accordance with some embodiments. The figure showsthe challenge 1010 being presented on a user interface displayed on thedisplay 310 of the mobile device 110. The challenge 1010 displayedprovides an instruction to the user 140 to pinch and zoom on the display310 to zoom into or “blow-up” an object within a presented image 1020.For example, the challenge instructs the user 140 to zoom into the sunobject within the presented image 1020. The challenge 1010 may bepresented to the user 140 prior to granting the user 140 access to aresource, such as allowing the user post a content item or granting theuser access to an account settings page as described above.Additionally, the challenge 1010 may be presented to the user by thesocial network client application 115 after receiving a request from thesocial network server application 122 to do so. The specific challengemay be determined in the fashion described above with respect to FIGS.1-2. While the instructions request the user to zoom into the sun objectwithin the presented image 1020, any instruction that results inmanipulation of the image 1020 presented on the display 310 may be givento the user 140.

In response to the presented challenge 1010, the user 140 may pinch andzoom on the display 310 with his/her fingers such that the sun object iszoomed into on within the presented image 1020. The user may also“double-tap” on the display 310 to zoom into the sun object presentedwithin the image 1020. The input subsystem 112 may capture sensor datawhile the user is interacting with the display 310 using his/herfingers. The captured sensor data, by the input subsystem 112, mayinclude sensor data indicative of the user's gestures on the display310. As described above, the captured sensor data may be compared to thechallenge reference data 126 a within the storage subsystem 126. Thechallenge reference data 126 a may be gesture data that is indicative ofnatural gestures performed by humans on a display of a mobile device.The challenge reference data 126 a may also include x-y coordinates ofthe object shown within the presented image 1020. If the captured sensordata and the challenge reference data 126 a match within a specificthreshold, the user 140 may pass the challenge. Otherwise, if thecaptured sensor data and the challenge reference data 126 a do not matchwithin a specific threshold, the user 140 may not pass the challenge andthe user may be presented with another challenge depending on thesettings of the social network server application 122. Upon passing thechallenge, the user may be granted access to the resource.

While a “zoom into the object” type of challenge is shown in the figure,many other various challenges requiring the user to interact with apresented image may also be implemented. For example, an image may bepresented at angle other than zero degrees with respect to a horizontalplane. The user may be requested to “rotate” the presented image usinghis/her fingers on the display 310 such that the image is brought backto, or close to, zero degrees with respect to the horizontal plane. Inanother example, a user may be requested to tap on a particular objectwithin the image. The user's “tap” may be analyzed and compared againstchallenge reference data to determine whether the “tap” indicates anatural tap expected from a human user.

FIG. 11 illustrates another interactive challenge involving interactionswith a presented image, in accordance with some embodiments. The figureshows the challenge 1110 being presented on a user interface displayedon the display 310 of the mobile device 110. The challenge 1110displayed provides an instruction to the user 140 to swipe left if theuser recognizes a person in a presented image 1120 that they areconnected to within the social network environment, otherwise to swiperight if the user does not recognize the person in the image 1120. Thechallenge subsystem 124 may access a “friends list” of the user 140 toobtain profile images of other users that the user 140 is connected towithin the social network environment and randomly present a profileimage of one of the other users, or may present a random image of aperson that the user is not connected to. The user 140 may swipe left ifhe/she recognizes the person in the image 1120, otherwise the user mayswipe right. The challenge 1010 may be presented to the user 140 priorto granting the user 140 access to a resource, such as allowing the userpost a content item or granting the user access to an account settingspage as described above. Additionally, the challenge 1010 may bepresented to the user by the social network client application 115 afterreceiving a request from the social network server application 122 to doso. The specific challenge may be determined in the fashion describedabove with respect to FIGS. 1-2.

If the user swipes in the correct direction based on the presented image1120, the user 140 may not pass the challenge and the user may bepresented with another challenge depending on the settings of the socialnetwork server application 122. Upon passing the challenge, the user maybe granted access to the resource.

The challenge subsystems 116 and 124 together may perform the analysisof whether the captured sensor data compared to the challenge referencedata 126 a meets a threshold for passing the challenge, with respect tothe descriptions in FIGS. 5-11. The result may be output to the socialnetwork server application 122. Similarly, the challenge subsystems 116and 124 may invoke the classifiers in the examples above with respect tothe descriptions in FIGS. 5-11.

Additionally, while numerous examples of interactive challenges areprovided above, many other types of interactive challenges may also bepresented. For example, a user may be requested to rest his finger on afingerprint sensor part of the mobile device 110. The challengesubsystem 116 on the mobile device 110 may determine whether thefingerprint data is indicative of a human fingerprint in order for theuser to pass the challenge. This determination may be performed on themobile device 110 such that no fingerprint data may be sent to theserver computer 120, preserving privacy of the user. In anotherembodiment, the user may be provided with a series of advertisements andmay be requested to select the most relevant advertisement pertaining toa certain indicated product. For example, various advertisements may bepresented to the user and the user may be requested to select anadvertisement that best fits in line with an advertisement that would betypical of a brand of a soda beverage.

FIG. 12 illustrates an example of a computing system in which one ormore embodiments may be implemented. A computer system as illustrated inFIG. 12 may be incorporated as part of the above described computerizeddevice. For example, computer system 1200 can represent some of thecomponents of a television, a computing device, a server, a desktop, aworkstation, a control or interaction system in an automobile, a tablet,a netbook or any other suitable computing system. A computing device maybe any computing device with an image capture device or input sensoryunit and a user output device. An image capture device or input sensoryunit may be a camera device. A user output device may be a display unit.Examples of a computing device include but are not limited to video gameconsoles, tablets, smart phones and any other hand-held devices. FIG. 12provides a schematic illustration of one embodiment of a computer system1200 that can perform the methods provided by various other embodiments,as described herein, and/or can function as the host computer system, aremote kiosk/terminal, a point-of-sale device, a telephonic ornavigation or multimedia interface in an automobile, a computing device,a set-top box, a table computer and/or a computer system. FIG. 12 ismeant only to provide a generalized illustration of various components,any or all of which may be utilized as appropriate. FIG. 12, therefore,broadly illustrates how individual system elements may be implemented ina relatively separated or relatively more integrated manner. In someembodiments, elements computer system 1200 may be used to implementfunctionality of mobile device 110 or server computer 120 in FIG. 1.

The computer system 1200 is shown comprising hardware elements that canbe electrically coupled via a bus 1202 (or may otherwise be incommunication, as appropriate). The hardware elements may include one ormore processors 1204, including without limitation one or moregeneral-purpose processors and/or one or more special-purpose processors(such as digital signal processing chips, graphics accelerationprocessors, and/or the like); one or more input devices 1208, which caninclude without limitation one or more cameras, sensors, a mouse, akeyboard, a microphone configured to detect ultrasound or other sounds,and/or the like; and one or more output devices 1210, which can includewithout limitation a display unit such as the device used in embodimentsof the invention, a printer and/or the like.

In some implementations of the embodiments of the invention, variousinput devices 1208 and output devices 1210 may be embedded intointerfaces such as display devices, tables, floors, walls, and windowscreens. Furthermore, input devices 1208 and output devices 1210 coupledto the processors may form multi-dimensional tracking systems.

The computer system 1200 may further include (and/or be in communicationwith) one or more non-transitory storage devices 1206, which cancomprise, without limitation, local and/or network accessible storage,and/or can include, without limitation, a disk drive, a drive array, anoptical storage device, a solid-state storage device such as a randomaccess memory (“RAM”) and/or a read-only memory (“ROM”), which can beprogrammable, flash-updateable and/or the like. Such storage devices maybe configured to implement any appropriate data storage, includingwithout limitation, various file systems, database structures, and/orthe like.

The computer system 1200 might also include a communications subsystem1212, which can include without limitation a modem, a network card(wireless or wired), an infrared communication device, a wirelesscommunication device and/or chipset (such as a Bluetooth™ device, an802.11 device, a Wi-Fi device, a WiMax device, cellular communicationfacilities, etc.), and/or the like. The communications subsystem 1212may permit data to be exchanged with a network, other computer systems,and/or any other devices described herein. In many embodiments, thecomputer system 1200 will further comprise a non-transitory workingmemory 1218, which can include a RAM or ROM device, as described above.

The computer system 1200 also can comprise software elements, shown asbeing currently located within the working memory 1218, including anoperating system 1214, device drivers, executable libraries, and/orother code, such as one or more application programs 1216, which maycomprise computer programs provided by various embodiments, and/or maybe designed to implement methods, and/or configure systems, provided byother embodiments, as described herein. Merely by way of example, one ormore procedures described with respect to the method(s) discussed abovemight be implemented as code and/or instructions executable by acomputer (and/or a processor within a computer); in an aspect, then,such code and/or instructions can be used to configure and/or adapt ageneral purpose computer (or other device) to perform one or moreoperations in accordance with the described methods.

A set of these instructions and/or code might be stored on acomputer-readable storage medium, such as the storage device(s) 1206described above. In some cases, the storage medium might be incorporatedwithin a computer system, such as computer system 1200. In otherembodiments, the storage medium might be separate from a computer system(e.g., a removable medium, such as a compact disc), and/or provided inan installation package, such that the storage medium can be used toprogram, configure and/or adapt a general purpose computer with theinstructions/code stored thereon. These instructions might take the formof executable code, which is executable by the computer system 1200and/or might take the form of source and/or installable code, which,upon compilation and/or installation on the computer system 1200 (e.g.,using any of a variety of generally available compilers, installationprograms, compression/decompression utilities, etc.) then takes the formof executable code.

Substantial variations may be made in accordance with specificrequirements. For example, customized hardware might also be used,and/or particular elements might be implemented in hardware, software(including portable software, such as applets, etc.), or both. Further,connection to other computing devices such as network input/outputdevices may be employed. In some embodiments, one or more elements ofthe computer system 1200 may be omitted or may be implemented separatefrom the illustrated system. For example, the processor 1204 and/orother elements may be implemented separate from the input device 1208.In one embodiment, the processor is configured to receive images fromone or more cameras that are separately implemented. In someembodiments, elements in addition to those illustrated in FIG. 12 may beincluded in the computer system 1200.

Some embodiments may employ a computer system (such as the computersystem 1200) to perform methods in accordance with the disclosure. Forexample, some or all of the procedures of the described methods may beperformed by the computer system 1200 in response to processor 1204executing one or more sequences of one or more instructions (which mightbe incorporated into the operating system 1214 and/or other code, suchas an application program 1216) contained in the working memory 1218.Such instructions may be read into the working memory 1218 from anothercomputer-readable medium, such as one or more of the storage device(s)1206. Merely by way of example, execution of the sequences ofinstructions contained in the working memory 1218 might cause theprocessor(s) 904 to perform one or more procedures of the methodsdescribed herein.

The terms “machine-readable medium” and “computer-readable medium,” asused herein, refer to any medium that participates in providing datathat causes a machine to operate in a specific fashion. In someembodiments implemented using the computer system 1200, variouscomputer-readable media might be involved in providing instructions/codeto processor(s) 1204 for execution and/or might be used to store and/orcarry such instructions/code (e.g., as signals). In manyimplementations, a computer-readable medium is a physical and/ortangible storage medium. Such a medium may take many forms, includingbut not limited to, non-volatile media, volatile media, and transmissionmedia. Non-volatile media include, for example, optical and/or magneticdisks, such as the storage device(s) 1206. Volatile media include,without limitation, dynamic memory, such as the working memory 1218.Transmission media include, without limitation, coaxial cables, copperwire and fiber optics, including the wires that comprise the bus 1202,as well as the various components of the communications subsystem 1212(and/or the media by which the communications subsystem 1212 providescommunication with other devices). Hence, transmission media can alsotake the form of waves (including without limitation radio, acousticand/or light waves, such as those generated during radio-wave andinfrared data communications).

Common forms of physical and/or tangible computer-readable mediainclude, for example, a floppy disk, a flexible disk, hard disk,magnetic tape, or any other magnetic medium, a CD-ROM, any other opticalmedium, punchcards, papertape, any other physical medium with patternsof holes, a RAM, a PROM, EPROM, a FLASH-EPROM, any other memory chip orcartridge, a carrier wave as described hereinafter, or any other mediumfrom which a computer can read instructions and/or code.

Various forms of computer-readable media may be involved in carrying oneor more sequences of one or more instructions to the processor(s) 904for execution. Merely by way of example, the instructions may initiallybe carried on a magnetic disk and/or optical disc of a remote computer.A remote computer might load the instructions into its dynamic memoryand send the instructions as signals over a transmission medium to bereceived and/or executed by the computer system 1200. These signals,which might be in the form of electromagnetic signals, acoustic signals,optical signals and/or the like, are all examples of carrier waves onwhich instructions can be encoded, in accordance with variousembodiments of the invention.

The communications subsystem 1212 (and/or components thereof) generallywill receive the signals, and the bus 1202 then might carry the signals(and/or the data, instructions, etc. carried by the signals) to theworking memory 1218, from which the processor(s) 1204 retrieves andexecutes the instructions. The instructions received by the workingmemory 1218 may optionally be stored on a non-transitory storage device1206 either before or after execution by the processor(s) 1204.

The methods, systems, and devices discussed above are examples. Variousembodiments may omit, substitute, or add various procedures orcomponents as appropriate. For instance, in alternative configurations,the methods described may be performed in an order different from thatdescribed, and/or various stages may be added, omitted, and/or combined.Also, features described with respect to certain embodiments may becombined in various other embodiments. Different aspects and elements ofthe embodiments may be combined in a similar manner. Also, technologyevolves and, thus, many of the elements are examples that do not limitthe scope of the disclosure to those specific examples.

Specific details are given in the description to provide a thoroughunderstanding of the embodiments. However, embodiments may be practicedwithout these specific details. For example, well-known circuits,processes, algorithms, structures, and techniques have been shownwithout unnecessary detail in order to avoid obscuring the embodiments.This description provides example embodiments only, and is not intendedto limit the scope, applicability, or configuration of the invention.Rather, the preceding description of the embodiments will provide thoseskilled in the art with an enabling description for implementingembodiments of the invention. Various changes may be made in thefunction and arrangement of elements without departing from the spiritand scope of the invention.

Also, some embodiments are described as processes depicted as flowdiagrams or block diagrams. Although each may describe the operations asa sequential process, many of the operations can be performed inparallel or concurrently. In addition, the order of the operations maybe rearranged. A process may have additional steps not included in thefigures. Furthermore, embodiments of the methods may be implemented byhardware, software, firmware, middleware, microcode, hardwaredescription languages, or any combination thereof. When implemented insoftware, firmware, middleware, or microcode, the program code or codesegments to perform the associated tasks may be stored in acomputer-readable medium such as a storage medium. Processors mayperform the associated tasks. Thus, in the description above, functionsor methods that are described as being performed by the computer systemmay be performed by a processor—for example, the processor1204—configured to perform the functions or methods. Further, suchfunctions or methods may be performed by a processor executinginstructions stored on one or more computer readable media.

Having described several embodiments, various modifications, alternativeconstructions, and equivalents may be used without departing from thespirit of the disclosure. For example, the above elements may merely bea component of a larger system, wherein other rules may take precedenceover or otherwise modify the application of the invention. Also, anumber of steps may be undertaken before, during, or after the aboveelements are considered. Accordingly, the above description does notlimit the scope of the disclosure.

Various examples have been described. These and other examples arewithin the scope of the following claims.

1. A method, comprising: receiving a request to provide a challenge, therequest being generated in response to a determination that a contentitem attempted to be posted by a user of a mobile device to a socialnetwork environment meets a spam threshold, wherein the determinationthat the content item meets the spam threshold comprises applying aclassifier to one or more attributes of the content item, whereinmeeting the spam threshold indicates that the content item is likelybeing posted by a computer or robot for spam purposes rather than anactual human being, and wherein the classifier was trained based on oneor more attributes of content before the attempt to post the contentitem; presenting the challenge to the user in response to receiving therequest to provide the challenge, the challenge requesting the user tomake a specific sound; capturing sensor data generated by one or moresensors associated with the mobile device as a result of one or moreactions performed by the user in response to the challenge, the sensordata including at least one image showing an action performed by theuser for making the specific sound; determining whether the challengewas satisfied by comparing the sensor data to reference data stored inassociation with the challenge; indicating whether the challenge wassatisfied based at least in part on the determining; and allowing thecontent item to be posted by the user to the social network environmentupon determining that the challenge was satisfied.
 2. (canceled)
 3. Themethod of claim 1, wherein determining whether the challenge wassatisfied comprises determining, based upon the sensor data, whether themobile device is being held by a human.
 4. (canceled)
 5. (canceled) 6.The method of claim 1, wherein the indicating comprises providing anindication whether the challenge was satisfied to a source of therequest to provide the challenge, wherein the request to provide thechallenge is received from a social network application.
 7. (canceled)8. The method of claim 1, wherein the challenge is presented beforeallowing access to a resource, and wherein the method further comprisesallowing access to the resource upon determining that the challenge wassatisfied.
 9. (canceled)
 10. (canceled)
 11. A mobile device, comprising:a display; a processor configured to receive a request to provide achallenge, the request being generated in response to a determinationthat a content item attempted to be posted by a user of the mobiledevice to a social network environment meets a spam threshold, whereinthe determination that the content item meets the spam thresholdcomprises applying a classifier to one or more attributes of the contentitem, wherein meeting the spam threshold indicates that the content itemis likely being posted by a computer or robot for spam purposes ratherthan an actual human being, and wherein the classifier was trained basedon one or more attributes of content before the attempt to post thecontent item; a challenge subsystem coupled to the processor, thechallenge subsystem configured to present the challenge to the user inresponse to the processor receiving the request to provide thechallenge, the challenge being presented via the display and requestingthe user to make a specific sound; one or more sensors coupled to theprocessor, the one or more sensors configured to generate sensor data asa result of one or more actions performed by the user in response to thechallenge, the sensor data including at least one image showing anaction performed by the user for making the specific sound, wherein theprocessor is configured to: determine whether the challenge wassatisfied by comparing the sensor data to reference data stored inassociation with the challenge; indicate whether the challenge wassatisfied based at least in part on the determining; and allow thecontent item to be posted by the user to the social network environmentupon determining that the challenge was satisfied.
 12. (canceled) 13.The mobile device of claim 11, wherein determining whether the challengewas satisfied comprises determining, based upon the sensor data, whetherthe mobile device is being held by a human.
 14. (canceled) 15.(canceled)
 16. The mobile device of claim 11, wherein the indicatingcomprises providing an indication whether the challenge was satisfied toa source of the request to provide the challenge, and wherein therequest to provide the challenge is received from a social networkapplication.
 17. The mobile device of claim 11, wherein the challenge ispresented before allowing access to a resource, and wherein the methodfurther comprises allowing access to the resource upon determining thatthe challenge was satisfied.
 18. (canceled)
 19. (canceled)
 20. One ormore non-transitory computer-readable media storing computer-executableinstructions that, when executed, cause one or more computing devicesto: receive a request to provide a challenge, the request beinggenerated in response to a determination that a content item attemptedto be posted by a user of a mobile device to a social networkenvironment meets a spam threshold, wherein the determination that thecontent item meets the spam threshold comprises applying a classifier toone or more attributes of the content item, wherein meeting the spamthreshold indicates that the content item is likely being posted by acomputer or robot for spam purposes rather than an actual human being,and wherein the classifier was trained based on one or more attributesof content before the attempt to post the content item; present achallenge to the user in response to receiving the request to providethe challenge, the challenge requesting the user to make a specificsound; capture sensor data generated by one or more sensors associatedwith the mobile device as a result of one or more actions performed bythe user in response to the challenge, the sensor data including atleast one image showing an action performed by the user for making thespecific sound; determine whether the challenge was satisfied bycomparing the sensor data to reference data stored in association withthe challenge; indicate whether the challenge was satisfied based atleast in part on the determining; and allow the content item to beposted by the user to the social network environment upon determiningthat the challenge was satisfied.
 21. The method of claim 1, wherein theaction includes performing a facial expression when making the specificsound, and wherein comparing the sensor data to the reference dataincludes comparing the at least one image to a reference image of ahuman face making the specific sound.
 22. The method of claim 21,wherein comparing the sensor data to the reference data includescomparing the at least one image to a plurality of reference images ofvarious human faces making the specific sound.
 23. The method of claim1, wherein the sensor data includes a video comprising the at least oneimage, the video showing the user's facial movements when making thespecific sound, and wherein comparing the sensor data to the referencedata includes comparing the video to a reference video of a human facemaking the specific sound.
 24. The method of claim 1, furthercomprising: presenting a second challenge to the user in response todetermining that the challenge was not satisfied, the second challengerequesting the user to perform a specific action on the mobile devicewith respect to an object presented on a display of the mobile device.25. The method of claim 24, wherein the specific action includes movingthe mobile device to control the object during an interactive gamepresented on the display.
 26. The method of claim 24, wherein thespecific action includes zooming into the object by performing a pinchand zoom operation on the display.
 27. The method of claim 24, furthercomprising: selecting the object for presentation on the display,wherein the specific action includes swiping across the display in afirst direction if the object is recognized by the user and swipingacross the display in a second direction if the object is not recognizedby the user; and determining, based on whether or not the object shouldbe recognized by the user, whether the user swiped in a correctdirection.
 28. The method of claim 1, further comprising: presenting asecond challenge to the user in response to determining that thechallenge was not satisfied, the second challenge requesting the user toshake the mobile device according to a specific rhythm, the specificrhythm including a shake action and a pause action.
 29. The mobiledevice of claim 11, wherein the action includes performing a facialexpression when making the specific sound, and wherein comparing thesensor data to the reference data includes comparing the at least oneimage to a reference image of a human face making the specific sound.30. The mobile device of claim 29, wherein comparing the sensor data tothe reference data includes comparing the at least one image to aplurality of reference images of various human faces making the specificsound.
 31. The mobile device of claim 11, wherein the sensor dataincludes a video comprising the at least one image, the video showingthe user's facial movements when making the specific sound, and whereincomparing the sensor data to the reference data includes comparing thevideo to a reference video of a human face making the specific sound.32. The mobile device of claim 11, wherein the challenge subsystem isfurther configured to present a second challenge to the user in responseto the processor determining that the challenge was not satisfied, thesecond challenge requesting the user to perform a specific action on themobile device with respect to an object presented on the display. 33.The mobile device of claim 32, wherein the specific action includesmoving the mobile device to control the object during an interactivegame presented on the display.
 34. The mobile device of claim 32,wherein the specific action includes zooming into the object byperforming a pinch and zoom operation on the display.
 35. The mobiledevice of claim 32, wherein the challenge subsystem is configured toselect the object for presentation on the display, wherein the specificaction includes swiping across the display in a first direction if theobject is recognized by the user and swiping across the display in asecond direction if the object is not recognized by the user, andwherein the processor is configured to determine, based on whether ornot the object should be recognized by the user, whether the user swipedin a correct direction.
 36. The mobile device of claim 11, wherein thechallenge subsystem is further configured to present a second challengeto the user in response to the processor determining that the challengewas not satisfied, the second challenge requesting the user to shake themobile device according to a specific rhythm, the specific rhythmincluding a shake action and a pause action.
 37. The method of claim 1,wherein the one or more attributes of the content item to which theclassifier is applied include a post length.
 38. The method of claim 1,further comprising: displaying an option to appeal the determinationthat the content item meets the spam threshold, wherein the challenge ispresented further in response to user selection of the option to appeal.